package com.atguigu.config;

import com.wechat.pay.java.core.RSAAutoCertificateConfig;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
@ConfigurationProperties(prefix = "wechat.v3pay")
@Data
public class WxConfig {
    private String appid;
    /**
     * 商户号
     */
    public String merchantId;
    /**
     * 商户API私钥路径
     */
    public String privateKeyPath;
    /**
     * 商户证书序列号
     */
    public String merchantSerialNumber;
    /**
     * 商户APIV3密钥
     */
    public String apiV3key;
    /**
     * 回调地址
     */
    private String notifyUrl;

    @Bean
    public RSAAutoCertificateConfig getConfig() {
        return new RSAAutoCertificateConfig.Builder()
                .merchantId(merchantId)
                // 使用 com.wechat.pay.java.core.util 中的函数从本地文件中加载商户私钥，商户私钥会用来生成请求的签名
                .privateKeyFromPath(privateKeyPath)
                .merchantSerialNumber(merchantSerialNumber)
                .apiV3Key(apiV3key)
                .build();
    }


}
